The present invention relates to a technique of compressed data restoration processing for restoring the compressed data such as the test pattern data which were transferred to a semiconductor tester in succession and at a high speed.
It has widely been made that data is temporarily compressed for the purpose of the data transfer and the like, and thereafter the thus compressed data is restored (decompressed). Restoration processors (typically compression/restoration processors) have been in common use for such restorations of the compressed data.
Referring herein to FIG. 8, a conventional example of a technique for restoring the compressed data will be described for the better understanding of the present invention. FIG. 8 is a block diagram for explaining a method for conventional compressed data restoration.
In cases where a compressed data row 280 is restored by a restoration processor 16 to generate a restored data row 340, it is commonly necessary to input restoration processor control data 84 into the restoration processor 16. Such restoration processor control data 84 includes, for example the size (bit number) of the compressed data row (sometimes called xe2x80x9ca quantity of the compressed data rowxe2x80x9d) and the size (bit number) of the pre-compression source data row (sometimes called xe2x80x9ca quantity of the pre-compression source data rowxe2x80x9d). Also, the data input (hereinafter sometimes called xe2x80x9cprogrammingxe2x80x9d) is carried out by using a control software 82 which operates on a control processor 80.
Then, when the compressed data row 280 is fed to the restoration processor 16 into which the restoration processor control data 84 has been programmed, the restored data row 340 is generated. After the completion of the restoration processing of the compressed data row 280, the restoration processor 16 provides a restoration termination notice 86 to the control processor 80. In response to this restoration termination notice 86, the control software 82 starts the programming for allowing the restoration processor 16 to perform restoration processing of the next compressed data row.
Here, the reason will be described that the control software is troublesomely required each time the control data is programmed into the restoration processor.
In sequential writing of compressed data rows into the transferee storage device, none of control data has been acquired at the stage of the compression processing. Furthermore, in order to restore the compression data rows by means of the restoration processor, there is a need for control data to be programmed into the restoration processor prior to the entry of the compressed data rows. As a result of this, upon restoration of a compressed data row, it is necessary to separately perform the operation to retrieve control data corresponding to the compressed data row and to enter and program the thus retrieved control data into the restoration processor. For this reason, the control software is needed for execution of the retrieval or other processing.
As described above, in the conventional compressed data row restoration, the restoration processor control data must be individually programmed by means of the control software on a compressed data row basis. This means that, accordingly, as the number of the compressed data rows becomes larger, the number of operating times of the control software will also increase. Also, the operation of the control software needs a certain time for the programming, and correspondingly the restoration processing speed will become lower. This resulted in a deficiency that too much time is required for the restoration processing in the case for restoring a large number of compressed data rows in succession.
A plurality of the compressed data rows to be restored in succession in this manner include, typically, test pattern data for use in a semiconductor tester. In this case that the test pattern data, which is dedicated to semiconductor integrated circuits and which is used for testing, is transferred as compressed data to the semiconductor tester, the semiconductor tester carries out the semiconductor testing with use of the test pattern data restored through the restoration processing.
However, in the case of using an enormous quantity of test pattern data, the time taken for the restoration of the compressed data may possibly become much longer than the time needed for the semiconductor testing. In addition, the semiconductor testers can not test the integrated circuits during the restoration processing. Thus, for effective utilization of the costly semiconductor tester, it has been desired to reduce the time required for the restoration processing through its speed-up.
The present invention was conceived with the aim of solving the above problems. It is therefore an object of the present invention to provide a method and apparatus to restore the plural compressed data rows in succession at a high speed for reducing the time taken for the restoration.
In order to achieve the above object, according to the present invention, there is provided a compressed data restoration apparatus, which is designed to restore the plural compressed data rows obtained by a compression process for the plural source data rows, to generate the plural restored data rows.
Namely, the present invention provides a compressed data restoration apparatus, which comprises;
a first storage unit for storing therein a main file composed of the plural unit files each including a compressed data row and control data required for restoration thereof, each unit file provided for each compressed data row, the main file containing the dummy data in place of the dynamic control data to be acquired after generation of the compressed data rows;
a second storage unit for storing therein a sub-file containing the dynamic control data acquired from the control data for the compressed data rows after generation of the compressed data rows;
a substituted control data generation unit which upon the generation of restored data rows by restoration of the compressed data rows, reads out the unit files from the first storage unit and the dynamic control data from the second storage unit so as to substitute the dummy data of the control data with the dynamic control data in the sub-file for each of the unit files to thereby generate the substituted control data;
and a restoration processor which accepts the compressed data row and the substituted control data from the control data generation unit for each of the unit files so as to restore the compressed data rows by use of the substituted control data to thereby generate restored data rows.
In this manner, according to the compressed data restoration apparatus of the present invention, the main file contains in advance the plural unit files each containing a compressed data row and control data therefor in pairs so that the compressed data rows are restored on a unit file basis. To this end, upon the restoration of the compressed data rows, the compressed data rows are correlated in advance with the control data therefor. As a result, without taking the trouble to retrieve control data corresponding to the compressed data rows by use of the control software in the prior art, the corresponding control data can be programmed to the restoration processor.
Incidentally, the control data includes the dynamic control data to be acquired after generation of the compressed data. This dynamic control data is unknown at the stage of creating the unit files in the main file. In the present invention, for this reason, each unit file stores the dummy data in place of the dynamic control data, whereas the sub-file is created which holds each dynamic control data corresponding to each compressed data row. Then, upon restoration of the compressed data, the dummy data is substituted with the dynamic control data to generate the substituted control data.
Accordingly, according to the present invention, the compressed::data can be restored by programming the substituted control data corresponding to the compressed data rows into the restoration processor. This results in no need for any trouble of operation of the control software for each compressed data row, achieving a reduction in time taken for the restoration processing.
Furthermore, in the compressed data restoration apparatus of the present invention, preferably, each of the unit files in the main file contains, as headers of the control data and of the compressed data row, positional information indicative of the site to store the control data and the compressed data row in the restoration processor.
In this manner, by allowing each unit file to contain positional information indicative of the site to store each data in the restoration processor, it is possible to easily enter the control data and compressed data rows into the restoration processor on the basis of this positional information, without using any control software.
Moreover, in the compressed data restoration apparatus of the present invention, preferably the substituted control data generation unit comprises;
a separation unit for separating the unit files read out from the first storage unit into the compressed data rows and the control data to provide the compressed data rows as its output to the restoration processor;
an array unit for allowing the sequence of output of each of the dynamic control data read out collectively from the second storage unit to coincide with sequence of output from the separation unit of the dummy data to be substituted by the dynamic control data; and
a substitution unit for substituting the dummy data output from the separation unit with the dynamic control data output one after another from the array unit to generate the substituted control data for the output to the restoration processor.
In this manner, by allowing the sequence of the dynamic control data with the sequence of the dummy data in the array unit, the substitution unit has merely to mechanically read out the dynamic control data one after another to thereby achieve an easy substitution with the dummy corresponding thereto. It is thus possible to perform the restoration processing easily without any trouble to use the control software for each of compressed data rows.
Furthermore, in the compressed data restoration apparatus of the present invention, the separation unit preferably judges as to whether the data in question is the control data or the compressed data row on the basis of respective positional information on the control data and the compressed data row of the unit files in the case that the unit files each contain the positional information.
In this manner, by distinguishing the control data from the compressed data row in each unit file on the basis of the positional information in the separation unit, the control data and the compression data row can easily be separated from each other.
According to the present invention, there is also provided a semiconductor tester provided with a compressed data restoration apparatus designed to restore the plural compressed data rows transferred, to generate test pattern data for testing of the semiconductor integrated circuits,
wherein the compressed data restoration apparatus comprises;
a first storage unit for storing therein a main file composed of the plural unit files each including a compressed data row and control data required for restoration thereof, each unit file provided for each compressed data row, the main file containing the dummy data in place of the dynamic control data to be acquired after generation of the compressed data rows;
a second storage unit for storing therein a sub-file containing the dynamic control data acquired from the control data for the compressed data rows after generation of the compressed data rows;
a substituted control data generation unit which upon the generation of restored data rows by restoration of the compressed data rows, reads out the unit files from the first storage unit and the dynamic control data from the second storage unit so as to substitute the dummy data of the control data with the dynamic control data in the sub-file for each of the unit files to thereby generate the substituted control data; and
a restoration processor which accepts the compressed data row and the substituted control data from the control data generation unit for each of the unit files so as to restore the compressed data rows by use of the substituted control data to thereby generate restored data rows.
Thus, according to the present invention, the plural compressed data rows are restored in succession at a high speed so that the time required for the restoration can be reduced, thereby offering a longer actual operation time to the semiconductor tester.
Further more, according to the presented semiconductor tester, each of the unit files preferably contains positional information indicative of the site to store the control data and the compressed data row in the restoration processor as headers of the control data and of the compressed data row in the main file.
By allowing each unit files to contain positional information in this manner, the control data and the compressed data rows can readily be input to the restoration processor without using the control software in the compressed data restoration apparatus of the semiconductor tester.
Moreover, according to the presented semiconductor tester, the substituted control data generation unit preferably comprises;
a separation unit for separating the unit files read out from the first storage unit into the compressed data rows and the control data to provide the compressed data rows as its output to the restoration processor;
an array unit for allowing the sequence of output of each of the dynamic control data read out collectively from the second storage unit to coincide with sequence of output from the separation unit of the dummy data to be substituted by the dynamic control data; and
a substitution unit for substituting the dummy data output from the separation unit with the dynamic control data output one after another from the array unit to generate the substituted control data for the output to the restoration processor.
By allowing the sequence of the dynamic control data with the sequence of the dummy data in the array unit in this manner, the substitution unit has merely to mechanically read out the dynamic control data one after another to thereby achieve an easy substitution with the dummy corresponding thereto. It is thus possible to perform the restoration processing easily without any troubles to use the control software for each of compressed data rows in the compressed data restoration apparatus of the semiconductor tester.
According to the present invention, there is further provided a data compression/restoration method comprising the step of generating
a main file which contains the plural compressed data rows, and
a sub-file which contains the dynamic control data acquired after generation of the compressed data rows from the control data required when restoration of the compressed data rows,
based on the plural compressed data rows produced through a compression process of the plural source data rows;
and the step of substituting the dummy data with the dynamic control data in the sub-file for each compressed data to generate the substituted control data, and restoring the compressed data rows by use of the substituted control data associated therewith, for generating the plural restored data rows through a restoration process of the plural compressed data rows.
According to the data compression/restoration method of the present invention in this manner, the main file can store a large volume of the compressed data and the control data which includes the dynamic control data as the dummy data, and such dummy data can be substituted with the dynamic control data in the sub-file when the restoration is carried out.
This will enable the control data to be programmed to the restoration processor without using any control software. In consequence, due to no operation of the control software for each compressed data, the need time for the restoration can be reduced by restoring the plural compressed data rows in succession at a high speed.
Furthermore, according to the data compression/restoration method of the present invention, the sequence of restoration of the compressed data rows is preferably coincided with the sequence of array immediately before substitution of the dynamic control data corresponding to the compressed data row, when the substituted control data is generated.
By effecting the substitution in the condition that the coincidence of the sequence of restoration of the compressed data with the sequence of array of the dynamic control data, the dynamic control data has only to be read out mechanically one after another so that easy substitution with the corresponding dummy data will be ensured. For this reason, the restoration processing can easily be executed without any trouble to use the control software on a compressed data row basis.